package com.ruoyi.merchant.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.merchant.annotation.Dict;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 客户基本信息对象 t_customer_base
 * 
 * @author chengxin.ju
 * @date 2023-12-12
 */
public class CustomerBase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private String customerNum;

    /** 客户机构ID */
    @Excel(name = "客户机构ID")
    @Dict(dictTable = "t_organ", dicText = "name", dicCode = "id")
    private String customerOrg;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 称谓 */
    @Excel(name = "称谓")
    private Long title;

    /** 客户端app用户id【家人 id】 */
    private String appUserId;

    /** 客户头像 */
    @Excel(name = "客户头像")
    private String customerPicture;

    /** 客户性别 F:女 M:男 N:未说明性别 K:未知性别 */
    @Dict(dicCode = "customerGender")
    @Excel(name = "客户性别")
    private String customerGender;

    /** 客户民族0:汉族1：少数民族 */
    @Excel(name = "客户民族0:汉族1：少数民族")
    private String customerNation;

    /** 客户身份证号 */
    @Excel(name = "客户身份证号")
    private String customerCard;

    /** 年龄 */
    @Excel(name = "年龄")
    private Long age;

    /** 客户出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "客户出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date customerBirthday;

    /** 客户阴历生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "客户阴历生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date customerLunarbirth;

    /** 客户婚姻状况0:已婚1：未婚2：丧偶3：离婚4：未说明的婚姻 */
    @Excel(name = "客户婚姻状况0:已婚1：未婚2：丧偶3：离婚4：未说明的婚姻")
    private String customerMarriage;

    /** 客户宗教信仰0：无1：伊斯兰教2：佛教3：其它教派 */
    @Excel(name = "客户宗教信仰0：无1：伊斯兰教2：佛教3：其它教派")
    private String customerReligious;

    /** 客户文化程度 */
    @Excel(name = "客户文化程度")
    private String customerEducationdegree;

    /** 居住情况 */
    @Excel(name = "居住情况")
    private String customerAddressstatus;

    /** 客户常住类型 */
    @Excel(name = "客户常住类型")
    private String customerPermanenttype;

    /** 客户手机号1 */
    @Excel(name = "客户手机号1")
    private String customerPhpone;

    /** 客户手机号2 */
    @Excel(name = "客户手机号2")
    private String customerPhpone2;

    /** 客户手机号3 */
    @Excel(name = "客户手机号3")
    private String customerPhpone3;

    /** 客户联系地址-省 */
    @Excel(name = "客户联系地址-省")
    private Long customerAddressProvince;

    /** 客户联系地址-市 */
    @Excel(name = "客户联系地址-市")
    private Long customerAddressCity;

    /** 客户联系地址-县 */
    @Excel(name = "客户联系地址-县")
    private Long customerAddressCounty;

    /** 客户联系地址-具体地址 */
    @Excel(name = "客户联系地址-具体地址")
    private String customerAddressDetail;

    /** 紧急联系人1-姓名 */
    @Excel(name = "紧急联系人1-姓名")
    private String customerEmergencyContact1Name;

    /** 紧急联系人1-电话 */
    @Excel(name = "紧急联系人1-电话")
    private String customerEmergencyContact1Phone;

    /** 紧急联系人1-关系 */
    @Excel(name = "紧急联系人1-关系")
    private Long customerEmergencyContact1Relation;

    /** 紧急联系人2-姓名 */
    @Excel(name = "紧急联系人2-姓名")
    private String customerEmergencyContact2Name;

    /** 紧急联系人2-电话紧急联系人2-电话 */
    @Excel(name = "紧急联系人2-电话紧急联系人2-电话")
    private String customerEmergencyContact2Phone;

    /** 紧急联系人2-关系 */
    @Excel(name = "紧急联系人2-关系")
    private Long customerEmergencyContact2Relation;

    /** 紧急联系人3-姓名 */
    @Excel(name = "紧急联系人3-姓名")
    private String customerEmergencyContact3Name;

    /** 紧急联系人3-电话 */
    @Excel(name = "紧急联系人3-电话")
    private String customerEmergencyContact3Phone;

    /** 紧急联系人3-关系0:子女 */
    @Excel(name = "紧急联系人3-关系0:子女")
    private String customerEmergencyContact3Relation;

    /** 客户经济来源0：退休金/养老金，1：子女补贴，3：亲友资助，4社会救济，5：劳动收入，6：自我存款，7：其它补贴，可多传逗号分隔 */
    @Excel(name = "客户经济来源0：退休金/养老金，1：子女补贴，3：亲友资助，4社会救济，5：劳动收入，6：自我存款，7：其它补贴，可多传逗号分隔")
    private String customerFinancially;

    /** 经济来源其它说明 */
    @Excel(name = "经济来源其它说明")
    private String financiallyOtherDetail;

    /** 月收入 */
    @Excel(name = "月收入")
    private BigDecimal customerIncome;

    /** 客户医疗保障 0：城镇职工基本医疗保险 1：城镇居民基本医疗保险2：新型农村合作医疗3：商业医疗保险4：贫困救助5：全公费6：全自费7：其它 可多传逗号分隔 */
    @Excel(name = "客户医疗保障 0：城镇职工基本医疗保险 1：城镇居民基本医疗保险2：新型农村合作医疗3：商业医疗保险4：贫困救助5：全公费6：全自费7：其它 可多传逗号分隔")
    private String customerMedicalcar;

    /** 客户医疗保障-其它说明 */
    @Excel(name = "客户医疗保障-其它说明")
    private String customerMedicalcarOtherDetail;

    /** 客户社保卡号码 */
    @Excel(name = "客户社保卡号码")
    private String customerSocialCarno;

    /** 职业0:国家机关、党群组织、企业、事业单位负责人1:专业技术人员2: */
    @Excel(name = "职业0:国家机关、党群组织、企业、事业单位负责人1:专业技术人员2:")
    private String customerOccupation;

    /** 岗位 */
    @Excel(name = "岗位")
    private String customerPost;

    /** 单位 */
    @Excel(name = "单位")
    private String customerCompany;

    /** 再就业意愿 */
    @Excel(name = "再就业意愿")
    private String customerReemployment;

    /** 再就业性质 */
    @Excel(name = "再就业性质")
    private String customerReemploymentType;

    /** 再就业区域 */
    @Excel(name = "再就业区域")
    private String customerReemploymentRegion;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updatedBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    /** 能力等级0：能力完好1:轻度失能2：中度失能3：重度失能 */
    @Excel(name = "能力等级0：能力完好1:轻度失能2：中度失能3：重度失能")
    @Dict(dicCode = "assessDegree")
    private String assessDegree;

    /** 客户状态：0激活   1冻结 */
    @Excel(name = "客户状态：0激活   1冻结")
    private Long customerStatus;

    /** 删除标志 0：未删除 1：已删除 */
    @Excel(name = "删除标志 0：未删除 1：已删除")
    private Long del;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setCustomerNum(String customerNum)
    {
        this.customerNum = customerNum;
    }

    public String getCustomerNum() 
    {
        return customerNum;
    }
    public void setCustomerOrg(String customerOrg) 
    {
        this.customerOrg = customerOrg;
    }

    public String getCustomerOrg() 
    {
        return customerOrg;
    }
    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }
    public void setTitle(Long title) 
    {
        this.title = title;
    }

    public Long getTitle() 
    {
        return title;
    }
    public void setCustomerPicture(String customerPicture) 
    {
        this.customerPicture = customerPicture;
    }

    public String getCustomerPicture() 
    {
        return customerPicture;
    }
    public void setCustomerGender(String customerGender) 
    {
        this.customerGender = customerGender;
    }

    public String getCustomerGender() 
    {
        return customerGender;
    }
    public void setCustomerNation(String customerNation) 
    {
        this.customerNation = customerNation;
    }

    public String getCustomerNation() 
    {
        return customerNation;
    }
    public void setCustomerCard(String customerCard) 
    {
        this.customerCard = customerCard;
    }

    public String getCustomerCard() 
    {
        return customerCard;
    }
    public void setAge(Long age) 
    {
        this.age = age;
    }

    public Long getAge() 
    {
        return age;
    }
    public void setCustomerBirthday(Date customerBirthday) 
    {
        this.customerBirthday = customerBirthday;
    }

    public Date getCustomerBirthday() 
    {
        return customerBirthday;
    }
    public void setCustomerLunarbirth(Date customerLunarbirth) 
    {
        this.customerLunarbirth = customerLunarbirth;
    }

    public Date getCustomerLunarbirth() 
    {
        return customerLunarbirth;
    }
    public void setCustomerMarriage(String customerMarriage) 
    {
        this.customerMarriage = customerMarriage;
    }

    public String getCustomerMarriage() 
    {
        return customerMarriage;
    }
    public void setCustomerReligious(String customerReligious) 
    {
        this.customerReligious = customerReligious;
    }

    public String getCustomerReligious() 
    {
        return customerReligious;
    }
    public void setCustomerEducationdegree(String customerEducationdegree) 
    {
        this.customerEducationdegree = customerEducationdegree;
    }

    public String getCustomerEducationdegree() 
    {
        return customerEducationdegree;
    }
    public void setCustomerAddressstatus(String customerAddressstatus) 
    {
        this.customerAddressstatus = customerAddressstatus;
    }

    public String getCustomerAddressstatus() 
    {
        return customerAddressstatus;
    }
    public void setCustomerPermanenttype(String customerPermanenttype) 
    {
        this.customerPermanenttype = customerPermanenttype;
    }

    public String getCustomerPermanenttype() 
    {
        return customerPermanenttype;
    }
    public void setCustomerPhpone(String customerPhpone) 
    {
        this.customerPhpone = customerPhpone;
    }

    public String getCustomerPhpone() 
    {
        return customerPhpone;
    }
    public void setCustomerPhpone2(String customerPhpone2) 
    {
        this.customerPhpone2 = customerPhpone2;
    }

    public String getCustomerPhpone2() 
    {
        return customerPhpone2;
    }
    public void setCustomerPhpone3(String customerPhpone3) 
    {
        this.customerPhpone3 = customerPhpone3;
    }

    public String getCustomerPhpone3() 
    {
        return customerPhpone3;
    }
    public void setCustomerAddressProvince(Long customerAddressProvince) 
    {
        this.customerAddressProvince = customerAddressProvince;
    }

    public Long getCustomerAddressProvince() 
    {
        return customerAddressProvince;
    }
    public void setCustomerAddressCity(Long customerAddressCity) 
    {
        this.customerAddressCity = customerAddressCity;
    }

    public Long getCustomerAddressCity() 
    {
        return customerAddressCity;
    }
    public void setCustomerAddressCounty(Long customerAddressCounty) 
    {
        this.customerAddressCounty = customerAddressCounty;
    }

    public Long getCustomerAddressCounty() 
    {
        return customerAddressCounty;
    }
    public void setCustomerAddressDetail(String customerAddressDetail) 
    {
        this.customerAddressDetail = customerAddressDetail;
    }

    public String getCustomerAddressDetail() 
    {
        return customerAddressDetail;
    }
    public void setCustomerEmergencyContact1Name(String customerEmergencyContact1Name) 
    {
        this.customerEmergencyContact1Name = customerEmergencyContact1Name;
    }

    public String getCustomerEmergencyContact1Name() 
    {
        return customerEmergencyContact1Name;
    }
    public void setCustomerEmergencyContact1Phone(String customerEmergencyContact1Phone) 
    {
        this.customerEmergencyContact1Phone = customerEmergencyContact1Phone;
    }

    public String getCustomerEmergencyContact1Phone() 
    {
        return customerEmergencyContact1Phone;
    }
    public void setCustomerEmergencyContact1Relation(Long customerEmergencyContact1Relation) 
    {
        this.customerEmergencyContact1Relation = customerEmergencyContact1Relation;
    }

    public Long getCustomerEmergencyContact1Relation() 
    {
        return customerEmergencyContact1Relation;
    }
    public void setCustomerEmergencyContact2Name(String customerEmergencyContact2Name) 
    {
        this.customerEmergencyContact2Name = customerEmergencyContact2Name;
    }

    public String getCustomerEmergencyContact2Name() 
    {
        return customerEmergencyContact2Name;
    }
    public void setCustomerEmergencyContact2Phone(String customerEmergencyContact2Phone) 
    {
        this.customerEmergencyContact2Phone = customerEmergencyContact2Phone;
    }

    public String getCustomerEmergencyContact2Phone() 
    {
        return customerEmergencyContact2Phone;
    }
    public void setCustomerEmergencyContact2Relation(Long customerEmergencyContact2Relation) 
    {
        this.customerEmergencyContact2Relation = customerEmergencyContact2Relation;
    }

    public Long getCustomerEmergencyContact2Relation() 
    {
        return customerEmergencyContact2Relation;
    }
    public void setCustomerEmergencyContact3Name(String customerEmergencyContact3Name) 
    {
        this.customerEmergencyContact3Name = customerEmergencyContact3Name;
    }

    public String getCustomerEmergencyContact3Name() 
    {
        return customerEmergencyContact3Name;
    }
    public void setCustomerEmergencyContact3Phone(String customerEmergencyContact3Phone) 
    {
        this.customerEmergencyContact3Phone = customerEmergencyContact3Phone;
    }

    public String getCustomerEmergencyContact3Phone() 
    {
        return customerEmergencyContact3Phone;
    }
    public void setCustomerEmergencyContact3Relation(String customerEmergencyContact3Relation) 
    {
        this.customerEmergencyContact3Relation = customerEmergencyContact3Relation;
    }

    public String getCustomerEmergencyContact3Relation() 
    {
        return customerEmergencyContact3Relation;
    }
    public void setCustomerFinancially(String customerFinancially) 
    {
        this.customerFinancially = customerFinancially;
    }

    public String getCustomerFinancially() 
    {
        return customerFinancially;
    }
    public void setFinanciallyOtherDetail(String financiallyOtherDetail) 
    {
        this.financiallyOtherDetail = financiallyOtherDetail;
    }

    public String getFinanciallyOtherDetail() 
    {
        return financiallyOtherDetail;
    }
    public void setCustomerIncome(BigDecimal customerIncome) 
    {
        this.customerIncome = customerIncome;
    }

    public BigDecimal getCustomerIncome() 
    {
        return customerIncome;
    }
    public void setCustomerMedicalcar(String customerMedicalcar) 
    {
        this.customerMedicalcar = customerMedicalcar;
    }

    public String getCustomerMedicalcar() 
    {
        return customerMedicalcar;
    }
    public void setCustomerMedicalcarOtherDetail(String customerMedicalcarOtherDetail) 
    {
        this.customerMedicalcarOtherDetail = customerMedicalcarOtherDetail;
    }

    public String getCustomerMedicalcarOtherDetail() 
    {
        return customerMedicalcarOtherDetail;
    }
    public void setCustomerSocialCarno(String customerSocialCarno) 
    {
        this.customerSocialCarno = customerSocialCarno;
    }

    public String getCustomerSocialCarno() 
    {
        return customerSocialCarno;
    }
    public void setCustomerOccupation(String customerOccupation) 
    {
        this.customerOccupation = customerOccupation;
    }

    public String getCustomerOccupation() 
    {
        return customerOccupation;
    }
    public void setCustomerPost(String customerPost) 
    {
        this.customerPost = customerPost;
    }

    public String getCustomerPost() 
    {
        return customerPost;
    }
    public void setCustomerCompany(String customerCompany) 
    {
        this.customerCompany = customerCompany;
    }

    public String getCustomerCompany() 
    {
        return customerCompany;
    }
    public void setCustomerReemployment(String customerReemployment) 
    {
        this.customerReemployment = customerReemployment;
    }

    public String getCustomerReemployment() 
    {
        return customerReemployment;
    }
    public void setCustomerReemploymentType(String customerReemploymentType) 
    {
        this.customerReemploymentType = customerReemploymentType;
    }

    public String getCustomerReemploymentType() 
    {
        return customerReemploymentType;
    }
    public void setCustomerReemploymentRegion(String customerReemploymentRegion) 
    {
        this.customerReemploymentRegion = customerReemploymentRegion;
    }

    public void setAppUserId(String appUserId) {
        this.appUserId = appUserId;
    }


    public String getAppUserId() {
        return appUserId;
    }

    public String getCustomerReemploymentRegion()
    {
        return customerReemploymentRegion;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }
    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }
    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }
    public void setAssessDegree(String assessDegree) 
    {
        this.assessDegree = assessDegree;
    }

    public String getAssessDegree() 
    {
        return assessDegree;
    }
    public void setCustomerStatus(Long customerStatus) 
    {
        this.customerStatus = customerStatus;
    }

    public Long getCustomerStatus() 
    {
        return customerStatus;
    }

    public Long getDel() {
        return del;
    }

    public void setDel(Long del) {
        this.del = del;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("customerNum", getCustomerNum())
            .append("customerOrg", getCustomerOrg())
            .append("customerName", getCustomerName())
            .append("title", getTitle())
            .append("customerPicture", getCustomerPicture())
            .append("customerGender", getCustomerGender())
            .append("customerNation", getCustomerNation())
            .append("customerCard", getCustomerCard())
            .append("age", getAge())
            .append("customerBirthday", getCustomerBirthday())
            .append("customerLunarbirth", getCustomerLunarbirth())
            .append("customerMarriage", getCustomerMarriage())
            .append("customerReligious", getCustomerReligious())
            .append("customerEducationdegree", getCustomerEducationdegree())
            .append("customerAddressstatus", getCustomerAddressstatus())
            .append("customerPermanenttype", getCustomerPermanenttype())
            .append("customerPhpone", getCustomerPhpone())
            .append("customerPhpone2", getCustomerPhpone2())
            .append("customerPhpone3", getCustomerPhpone3())
            .append("customerAddressProvince", getCustomerAddressProvince())
            .append("customerAddressCity", getCustomerAddressCity())
            .append("customerAddressCounty", getCustomerAddressCounty())
            .append("customerAddressDetail", getCustomerAddressDetail())
            .append("customerEmergencyContact1Name", getCustomerEmergencyContact1Name())
            .append("customerEmergencyContact1Phone", getCustomerEmergencyContact1Phone())
            .append("customerEmergencyContact1Relation", getCustomerEmergencyContact1Relation())
            .append("customerEmergencyContact2Name", getCustomerEmergencyContact2Name())
            .append("customerEmergencyContact2Phone", getCustomerEmergencyContact2Phone())
            .append("customerEmergencyContact2Relation", getCustomerEmergencyContact2Relation())
            .append("customerEmergencyContact3Name", getCustomerEmergencyContact3Name())
            .append("customerEmergencyContact3Phone", getCustomerEmergencyContact3Phone())
            .append("customerEmergencyContact3Relation", getCustomerEmergencyContact3Relation())
            .append("customerFinancially", getCustomerFinancially())
            .append("financiallyOtherDetail", getFinanciallyOtherDetail())
            .append("customerIncome", getCustomerIncome())
            .append("customerMedicalcar", getCustomerMedicalcar())
            .append("customerMedicalcarOtherDetail", getCustomerMedicalcarOtherDetail())
            .append("customerSocialCarno", getCustomerSocialCarno())
            .append("customerOccupation", getCustomerOccupation())
            .append("customerPost", getCustomerPost())
            .append("customerCompany", getCustomerCompany())
            .append("customerReemployment", getCustomerReemployment())
            .append("customerReemploymentType", getCustomerReemploymentType())
            .append("customerReemploymentRegion", getCustomerReemploymentRegion())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .append("assessDegree", getAssessDegree())
            .append("customerStatus", getCustomerStatus())
            .append("DEL", getDel())
            .toString();
    }
}
